﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВедениеВзаиморасчетовПоДоговорам
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"ab104405-a808-4477-a419-ed0d605750fc\", \"Представление\":\"ПоДоговоруВЦелом\"}")]
		ПоДоговоруВЦелом = 0,//По договору в целом
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"722ff813-7136-4f88-922e-bde9021f4a14\", \"Представление\":\"ПоЗаказам\"}")]
		ПоЗаказам = 1,//По заказам
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"9e700abf-93fa-475c-98b9-220e2548d055\", \"Представление\":\"ПоСчетам\"}")]
		ПоСчетам = 2,//По счетам
	}
	public static partial class ВедениеВзаиморасчетовПоДоговорам_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПоДоговоруВЦелом = new Guid("0ded19a4-5760-fc50-4477-a808ab104405");//По договору в целом
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПоЗаказам = new Guid("e9bd2e92-1f02-144a-4f88-7136722ff813");//По заказам
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПоСчетам = new Guid("0e22b998-4825-55d0-475c-93fa9e700abf");//По счетам
		public static ВедениеВзаиморасчетовПоДоговорам Получить(this ВедениеВзаиморасчетовПоДоговорам Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВедениеВзаиморасчетовПоДоговорам Получить(this ВедениеВзаиморасчетовПоДоговорам Значение, Guid Ссылка)
		{
			if(Ссылка == ПоДоговоруВЦелом)
			{
				return ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом;
			}
			else if(Ссылка == ПоЗаказам)
			{
				return ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам;
			}
			else if(Ссылка == ПоСчетам)
			{
				return ВедениеВзаиморасчетовПоДоговорам.ПоСчетам;
			}
			return ВедениеВзаиморасчетовПоДоговорам.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВедениеВзаиморасчетовПоДоговорам Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВедениеВзаиморасчетовПоДоговорам Значение)
		{
			switch (Значение)
			{
				case ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом: return ПоДоговоруВЦелом;
				case ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам: return ПоЗаказам;
				case ВедениеВзаиморасчетовПоДоговорам.ПоСчетам: return ПоСчетам;
			}
			return Guid.Empty;
		}
	}
}